Over the past several decades, computer-related hardware and software technologies have experienced abundant growth. As is known, both hardware and software technologies have become increasingly powerful and sophisticated, which has enabled projects to be completed significantly more quickly than ever before. However, the increasing complexity of such technologies, particularly software, has required extensive investments in connection with the installation, training and maintenance of such programs.
User training has emerged as a particularly significant expense in connection with deployment of software application programs. For example, many application programs now contain numerous complicated features, each of which is effected using a different sequence of steps. As a consequence, users may experience difficulty in recalling the sequence of steps necessary to cause a desired operation to be performed. Accordingly, it has been common to incorporate various “help” systems within such programs. Many such systems initially comprised textual descriptions of the steps related to a given operation, which were presented upon the request of the user.
Although text-based help systems may offer acceptable performance in character-based environments, such systems have proven less effective in contexts in which graphics may be employed. For example, it is often impractical to employ text based help systems to identify areas of the user's screen or specific graphic images requiring manipulation in order to complete a particular function. Accordingly, many help systems now rely upon text as well as graphic images of particular icons and buttons in explaining various program operations. For example, the ROBOHELP™ product available from the assignee of the present invention enables quick and easy creation of professional text and graphic-based help systems for WINDOWS™-based and Web-based applications.
However, in certain cases it may be difficult to convey to end-users how certain software program features are accessed and used with static text/graphic-based help systems. As a result, demonstration systems have been developed in which an animated display of the performance of a set of procedural steps is generated for viewing by the applicable user. These animated demonstrations have often been produced by creating a sequence of bitmap images of the display screen (i.e., “screen shots”), with one or more screen shots being used to illustratively represent a single operational step. In certain approaches the author of the demonstration uses a screen capture program to record the physical actions of an expert user while stepping through a software procedure. These actions may include, for example, moving a mouse cursor to a specific screen area, selecting from among available options via dialog boxes and menus, and entering text through a keyboard. Upon recording of the procedure, the demonstration may be edited to add captions and sound. Unfortunately, editing of the resultant demonstration file tends to be tedious and time-consuming, and it may be necessary to record the procedure again in order to correct an error or modify the demonstration as a result of a corresponding change in functionality of the application program.
Related products facilitating creation of demonstrations of software application programs 20 (“demos”) and tutorials have also been developed. For example, the ROBODEMO™ product, which is commercially available from the assignee of the present invention, comprises a tool for creating animated, interactive demonstrations of software and related tutorials. The ROBODEMO™ product is configured to enable creation of Flash movies based on any application in use, or any onscreen activity, which may then be played back 25 as a Demo or tutorial. Authors may also easily enhance recorded movies with captions, images, click boxes, scoring, text boxes, audio, and special effects. In this way the ROBODEMO™ product may be utilized to create training tutorials, marketing demonstrations, and other presentations relating to the applicable software application program.
However, in certain commercially available products enabling automated development of demonstrations, tutorials and the like, the authoring process is complicated by the difficulty of appropriately placing annotation and caption objects upon the constituent screen shots during the “edit” mode of operation. That is, it has proven somewhat difficult to accurately specify the location of such objects upon individual screen shots while in edit mode in such a way that a desired position of such objects is achieved during the subsequent playback of the resultant presentation file.